package org.xlp.db.bridge.annotation;

import org.xlp.db.bridge.type.MapperEnum;

import java.lang.annotation.*;

/**
 * Description: sql配置文件映射注解
 * <br/>date: 2024/4/13 23:24
 *
 * @version 1.0
 * @author: xlp
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@Documented
public @interface Mapper {
    /**
     * bean Id
     * @return
     */
    String beanId() default "";

    /**
     * 描述
     * @return
     */
    String description() default "";

    /**
     * sql配置文件名称
     */
    String fileName() default "";

    /**
     * sql配置的父id
     * @return
     */
    String parentId() default "";

    /**
     * sql配置的id
     * @return
     */
    String id() default "";

    /**
     * 标记是否单例
     * @return
     */
    boolean singleton() default true;

    /**
     * 标记是否懒加载
     * @return
     */
    boolean lazy() default false;

    /**
     * sql执行类型
     * @return
     */
    MapperEnum type() default MapperEnum.AUTO;
}
